1. Field of the Invention
The present invention relates generally to a method, a device and a computer program for accessing data in which the data is sequentially stored as data objects.
2. Description of the Related Art
The sequentially stored data objects are, for example, print data that is sequentially stored as data objects page-by-page and that forms a print data stream for the printout of a document comprising several printed pages. The stored data objects, however, can also contain other and/or further data types, in particular measurement data, image data and film data. The data objects are linearly organized by being successively created, stored and processed. In general, print data are both linearly generated as well as linearly processed and printed.
When a certain data object is to be required in order to, for example, display a requested print page of a print data stream or to continue printing on a specific print page, an access to the data object of this print page is required. This is particularly necessary when an error occurs at the printer and a new print job has to be created as from a specific print page of the document in order to continue the printout of the document at the abort position.
It is known to read in the print data stream from the beginning of the print data up to the data object of the requested print page at which the printing operation is to be continued or which is to be displayed. This type of search in which all data from the beginning of the data stream up to the requested data object is read in is also referred to as a linear search.
For management of large datasets, non-linear structures of data as well as indexing of the data are known. Implementation of these methods, however, is relatively complicated and requires considerable resources for the creation and management of the data.
In the case of a linear search without indexing, however, depending on the position of the requested print page in the print data stream, a considerable amount of time is required, since all data of the print data stream up to the requested position has to be read in. Further, a binary search method is known, in which the search area is iteratively bisected and as a result thereof the objects are found relatively quickly. The binary search method, however, requires a uniform size of the data objects which, however, is not so in general and in particular in the case of print jobs.
In known applications of the binary search method, a uniform size of the data objects is achieved in that all objects are padded with null data, i.e. with so-called dummy data, to increase the data objects to a preset size. However, this has the consequence that the size of the data stream is considerably increased, so that as a result the generally already very large print data stream is increased even more. The memory space requirement of a data stream which has been increased in such a way can amount to a multiple of the actual print data stream since all objects must have at least the size of the largest data object in the print data stream.